﻿using StyleMVVM.Utilities;
#if !DOT_NET
using Windows.Foundation.Collections;

#endif

namespace StyleMVVM.Data
{
	/// <summary>
	/// Interface that wraps a data object and tracks changes
	/// </summary>
	/// <typeparam name="T"></typeparam>
	public interface IEditableDataWrapper<T> : IObservableMap<string, object>,
	                                           IEditable where T : class
	{
		/// <summary>
		/// Value to wrap (this object can be changed over the lifetime of the wrapper)
		/// </summary>
		T Value { get; set; }
	}
}